/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package desarrollosoft.ghce.vista.implementaciones;

import desarrollosoft.ghce.entidades.Profesional;
import desarrollosoft.ghce.soporte.Global;
import org.zkoss.zul.Label;
import org.zkoss.zul.Listcell;
import org.zkoss.zul.Listitem;
import org.zkoss.zul.ListitemRenderer;

/**
 *
 * @author ariel
 */
public class RendererProfesionales implements ListitemRenderer {

    @Override
    public void render(Listitem listitem, Object data, int index) throws Exception {
        
        Profesional profesional = (Profesional) data;
        /* seteo el valor para el item: importante sin esto no puedo obtener el seleccionado de la lista */
        listitem.setValue(profesional);
        
        Listcell celda = new Listcell();
        listitem.appendChild(celda);
        celda.appendChild(new Label(profesional.getApellido()));
        
        celda = new Listcell();
        listitem.appendChild(celda);
        celda.appendChild(new Label(profesional.getNombre()));
        
        celda = new Listcell();
        listitem.appendChild(celda);
        celda.appendChild(new Label(profesional.getTipoDocumento().getNombre()));
        
        celda = new Listcell();
        listitem.appendChild(celda);
        celda.appendChild(new Label(profesional.getNumeroDocumento()));
        
        celda = new Listcell();
        listitem.appendChild(celda);
        celda.appendChild(new Label(profesional.getSexo().getNombre()));
        
        celda = new Listcell();
        listitem.appendChild(celda);
        celda.appendChild(new Label(profesional.getNombreUsuario()));
        
        celda = new Listcell();
        listitem.appendChild(celda);
        Integer rol = profesional.getRol();
        switch (rol) {
            case Global.ROLE_USUARIO_PROFESIONAL:
                celda.appendChild(new Label("Profesional"));
                break;
            case Global.ROLE_USUARIO_ADMINISTRADOR:
                celda.appendChild(new Label("Administrador"));
                break;
        }
        
        celda = new Listcell();
        listitem.appendChild(celda);
        celda.appendChild(new Label(profesional.getEstado()));
    }
    
}
